package com.eascs.p2p.admin.manager;

import java.util.List;

import com.eascs.app.dao.PageResult;
import com.eascs.p2p.common.entity.AdminRoleEntity;
import com.eascs.p2p.common.entity.AdminUserEntity;
import com.eascs.p2p.common.entity.AdminUserRoleEntity;
import com.eascs.p2p.common.vo.AdminUserVO;

public interface IAdminUserManager {

   /**
 * @Title: queryAdminUserByLogin
 * @Description: 根据用户名，密码查询用户信息
 * @author 张庆奇
 * @param account 用户名
 * @param password 密码
 * @return
 * @return AdminUserEntity
 * @throws
 * @date 2016年7月19日 下午1:31:21
 */
public AdminUserEntity queryAdminUserByLogin(String account,String password);

/**
 * @Title: findPageAdminUserEntity
 * @Description:分页查询用户信息
 * @author 张庆奇
 * @param vo
 * @return
 * @return PageResult<Object[]>
 * @throws
 * @date 2016年7月19日 下午1:35:55
 */
public  PageResult<Object[]> findPageAdminUserEntity(AdminUserVO vo);

	/**
	 * @Title: queryAdminUserById
	 * @Description: 根据id查询该用户的信息
	 * @author 张庆奇
	 * @param id
	 * @return
	 * @return AdminUserEntity
	 * @throws
	 * @date 2016年7月19日 下午1:32:01
	 */
	public AdminUserEntity queryAdminUserById(String id);
	

	/**
	 * @Title: saveAdminUser
	 * @Description: 添加用户
	 * @author 张庆奇
	 * @param admin
	 * @return
	 * @return String
	 * @throws
	 * @date 2016年7月19日 下午1:33:16
	 */
	public String saveAdminUser(AdminUserEntity admin);
	

	/**
	 * @Title: updateAdminUser
	 * @Description: 修改用户
	 * @author 张庆奇
	 * @param admin
	 * @return
	 * @return boolean
	 * @throws
	 * @date 2016年7月19日 下午1:33:29
	 */
	public boolean updateAdminUser(AdminUserEntity admin);

	public List<AdminRoleEntity> queryRoleList();

	public PageResult<Object[]> queryRoleListByUser(AdminUserVO vo);

	public boolean isExistUserRole(String userId, String roleId);
	
	public String saveUserRole(AdminUserRoleEntity adminUserRoleEntity);

	public boolean delUserRole(String userId, String roleId);

	public AdminUserEntity getUserByAccount(String loginName);
	/*public <T extends User> T getUserByAccount(String loginName, Class<T> type);*/

	public Boolean checkIsAdmin(String roleId);

	public Boolean checkUserRole(String roleId, String roleCode);
	
}
